package game;

import cards.Card;

import java.util.List;
import java.util.Set;

public interface HandRank {
  /**
   * Check that this hand rank can be met based on the provided set of cards.
   * @param cards Set of cards to make a hand from.
   */
  boolean hasRank(Set<Card> cards);

  /**
   * Select the best match from the set of cards provided. The ordering of the
   * resultant list should have the lowest-valued card as the lowest index, and
   * the highest-valued card as the highest index.
   * @param cards Set of cards to make a hand from.
   */
  List<Card> selectBestMatch(Set<Card> cards);
}
